import { createParamDecorator, ExecutionContext } from '@nestjs/common';

export const User = createParamDecorator(
  (data: unknown, ctx: ExecutionContext) => {
    // 这里可以写一堆逻辑，用来获取到用户信息，并且返回
    // 这里的data是在使用装饰器的时候传入的，例如：@User("name")
    console.log('data的值是：', data, ctx);
    // 第一个参数name来接收，"name"这个值会被传入到data里面
    console.log('data的值是：', data); // name
}
    // 我们这里假设已经获取到用户信息
    return {
      id: 101,
      firstName: 'Alan',
      lastName: 'Turing',
      email: 'alan@email.com',
      roles: ['admin'],
    };
  },
);
